{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Importing PulP solver\n",
    "from pulp import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Inputing the Demand points\n",
    "demand_points=['Port of Haifa','Port of King Abdul Aziz','Port of Jebel Ali']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['Port of Haifa', 'Port of King Abdul Aziz', 'Port of Jebel Ali']"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "demand_points"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Inputing the Supply Points\n",
    "supply_points=['Port of Vienna','Port of Antwerp','Port of Shanghai','Port of Hamburg_Czeck','Port of Marseille','Port of Hamburg_Germany','Port of Hong Kong','Port of Budapest','Port of Jawaharlal Nehru','Port of Gioia Tauro','Port of Nagoya','Port of Busan','Penang Port','Port of Manzanillo','Port of Rotterdam','Port of Gdansk','Port of Vladivostok','Port of Novorossiysk','Port of St. Petersburg','Port of Algeciras','Port of Bangkok','Port of Mersin','Port of Immingham','Port of New York','Port of Los Angeles','Port of Saigon']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['Port of Vienna',\n",
       " 'Port of Antwerp',\n",
       " 'Port of Shanghai',\n",
       " 'Port of Hamburg_Czeck',\n",
       " 'Port of Marseille',\n",
       " 'Port of Hamburg_Germany',\n",
       " 'Port of Hong Kong',\n",
       " 'Port of Budapest',\n",
       " 'Port of Jawaharlal Nehru',\n",
       " 'Port of Gioia Tauro',\n",
       " 'Port of Nagoya',\n",
       " 'Port of Busan',\n",
       " 'Penang Port',\n",
       " 'Port of Manzanillo',\n",
       " 'Port of Rotterdam',\n",
       " 'Port of Gdansk',\n",
       " 'Port of Vladivostok',\n",
       " 'Port of Novorossiysk',\n",
       " 'Port of St. Petersburg',\n",
       " 'Port of Algeciras',\n",
       " 'Port of Bangkok',\n",
       " 'Port of Mersin',\n",
       " 'Port of Immingham',\n",
       " 'Port of New York',\n",
       " 'Port of Los Angeles',\n",
       " 'Port of Saigon']"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "supply_points"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Inputing the distances\n",
    "distance = dict(zip(supply_points,[dict(zip(demand_points, [2306,5783,5475])),\n",
    "dict(zip(demand_points, [3804,7247,6938])),\n",
    "dict(zip(demand_points, [8336,6922,6627])),\n",
    "dict(zip(demand_points, [4173,7615,7306])),\n",
    "dict(zip(demand_points, [1946,5388,5080])),\n",
    "dict(zip(demand_points, [4173,7615,7306])),\n",
    "dict(zip(demand_points, [7475,6061,5766])),\n",
    "dict(zip(demand_points, [2192,5669,5360])),\n",
    "dict(zip(demand_points, [3510,1630,1335])),\n",
    "dict(zip(demand_points, [1230,4674,4366])),\n",
    "dict(zip(demand_points, [9214,7800,7505])),\n",
    "dict(zip(demand_points, [8852,7438,7143])),\n",
    "dict(zip(demand_points, [5310,3896,3601])),\n",
    "dict(zip(demand_points, [9673,13099,12790])),\n",
    "dict(zip(demand_points, [3894,7338,7029])),\n",
    "dict(zip(demand_points, [4889,8334,8025])),\n",
    "dict(zip(demand_points, [9435,8022,7727])),\n",
    "dict(zip(demand_points, [1715,5193,4885])),\n",
    "dict(zip(demand_points, [5398,8841,8532])),\n",
    "dict(zip(demand_points, [2242,5685,5377])),\n",
    "dict(zip(demand_points, [6556,5142,4847])),\n",
    "dict(zip(demand_points, [233,3885,3576])),\n",
    "dict(zip(demand_points, [3944,7388,7080])),\n",
    "dict(zip(demand_points, [5756,9222,8918])),\n",
    "dict(zip(demand_points, [11048,11344,11116])),\n",
    "dict(zip(demand_points, [6418,5004,4709]))]))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'Port of Vienna': {'Port of Haifa': 2306,\n",
       "  'Port of King Abdul Aziz': 5783,\n",
       "  'Port of Jebel Ali': 5475},\n",
       " 'Port of Antwerp': {'Port of Haifa': 3804,\n",
       "  'Port of King Abdul Aziz': 7247,\n",
       "  'Port of Jebel Ali': 6938},\n",
       " 'Port of Shanghai': {'Port of Haifa': 8336,\n",
       "  'Port of King Abdul Aziz': 6922,\n",
       "  'Port of Jebel Ali': 6627},\n",
       " 'Port of Hamburg_Czeck': {'Port of Haifa': 4173,\n",
       "  'Port of King Abdul Aziz': 7615,\n",
       "  'Port of Jebel Ali': 7306},\n",
       " 'Port of Marseille': {'Port of Haifa': 1946,\n",
       "  'Port of King Abdul Aziz': 5388,\n",
       "  'Port of Jebel Ali': 5080},\n",
       " 'Port of Hamburg_Germany': {'Port of Haifa': 4173,\n",
       "  'Port of King Abdul Aziz': 7615,\n",
       "  'Port of Jebel Ali': 7306},\n",
       " 'Port of Hong Kong': {'Port of Haifa': 7475,\n",
       "  'Port of King Abdul Aziz': 6061,\n",
       "  'Port of Jebel Ali': 5766},\n",
       " 'Port of Budapest': {'Port of Haifa': 2192,\n",
       "  'Port of King Abdul Aziz': 5669,\n",
       "  'Port of Jebel Ali': 5360},\n",
       " 'Port of Jawaharlal Nehru': {'Port of Haifa': 3510,\n",
       "  'Port of King Abdul Aziz': 1630,\n",
       "  'Port of Jebel Ali': 1335},\n",
       " 'Port of Gioia Tauro': {'Port of Haifa': 1230,\n",
       "  'Port of King Abdul Aziz': 4674,\n",
       "  'Port of Jebel Ali': 4366},\n",
       " 'Port of Nagoya': {'Port of Haifa': 9214,\n",
       "  'Port of King Abdul Aziz': 7800,\n",
       "  'Port of Jebel Ali': 7505},\n",
       " 'Port of Busan': {'Port of Haifa': 8852,\n",
       "  'Port of King Abdul Aziz': 7438,\n",
       "  'Port of Jebel Ali': 7143},\n",
       " 'Penang Port': {'Port of Haifa': 5310,\n",
       "  'Port of King Abdul Aziz': 3896,\n",
       "  'Port of Jebel Ali': 3601},\n",
       " 'Port of Manzanillo': {'Port of Haifa': 9673,\n",
       "  'Port of King Abdul Aziz': 13099,\n",
       "  'Port of Jebel Ali': 12790},\n",
       " 'Port of Rotterdam': {'Port of Haifa': 3894,\n",
       "  'Port of King Abdul Aziz': 7338,\n",
       "  'Port of Jebel Ali': 7029},\n",
       " 'Port of Gdansk': {'Port of Haifa': 4889,\n",
       "  'Port of King Abdul Aziz': 8334,\n",
       "  'Port of Jebel Ali': 8025},\n",
       " 'Port of Vladivostok': {'Port of Haifa': 9435,\n",
       "  'Port of King Abdul Aziz': 8022,\n",
       "  'Port of Jebel Ali': 7727},\n",
       " 'Port of Novorossiysk': {'Port of Haifa': 1715,\n",
       "  'Port of King Abdul Aziz': 5193,\n",
       "  'Port of Jebel Ali': 4885},\n",
       " 'Port of St. Petersburg': {'Port of Haifa': 5398,\n",
       "  'Port of King Abdul Aziz': 8841,\n",
       "  'Port of Jebel Ali': 8532},\n",
       " 'Port of Algeciras': {'Port of Haifa': 2242,\n",
       "  'Port of King Abdul Aziz': 5685,\n",
       "  'Port of Jebel Ali': 5377},\n",
       " 'Port of Bangkok': {'Port of Haifa': 6556,\n",
       "  'Port of King Abdul Aziz': 5142,\n",
       "  'Port of Jebel Ali': 4847},\n",
       " 'Port of Mersin': {'Port of Haifa': 233,\n",
       "  'Port of King Abdul Aziz': 3885,\n",
       "  'Port of Jebel Ali': 3576},\n",
       " 'Port of Immingham': {'Port of Haifa': 3944,\n",
       "  'Port of King Abdul Aziz': 7388,\n",
       "  'Port of Jebel Ali': 7080},\n",
       " 'Port of New York': {'Port of Haifa': 5756,\n",
       "  'Port of King Abdul Aziz': 9222,\n",
       "  'Port of Jebel Ali': 8918},\n",
       " 'Port of Los Angeles': {'Port of Haifa': 11048,\n",
       "  'Port of King Abdul Aziz': 11344,\n",
       "  'Port of Jebel Ali': 11116},\n",
       " 'Port of Saigon': {'Port of Haifa': 6418,\n",
       "  'Port of King Abdul Aziz': 5004,\n",
       "  'Port of Jebel Ali': 4709}}"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "distance"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Inputing the Glass Demand\n",
    "glass_demand=dict(zip(demand_points, [23750237.12,27384747.28,26000244.98]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'Port of Haifa': 23750237.12,\n",
       " 'Port of King Abdul Aziz': 27384747.28,\n",
       " 'Port of Jebel Ali': 26000244.98}"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "glass_demand"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Inputing the Glass Supply\n",
    "glass_supply=dict(zip(supply_points, [897756.3973,3142147.3790,16877820.2100,2513717.9040,4039903.7740,9785544.6960,3788531.9830,1346634.5910,1256858.9520,3411474.2980,4039903.7740,1975064.0670,1526185.8700,1975064.0670,1705737.1490,3052371.7400,498472.9915,243131.0679,245927.9741,1615961.5090,1077307.6730,1256858.9520,1795512.7880,4708260.2780,3281771.6290,1077307.6730])) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'Port of Vienna': 897756.3973,\n",
       " 'Port of Antwerp': 3142147.379,\n",
       " 'Port of Shanghai': 16877820.21,\n",
       " 'Port of Hamburg_Czeck': 2513717.904,\n",
       " 'Port of Marseille': 4039903.774,\n",
       " 'Port of Hamburg_Germany': 9785544.696,\n",
       " 'Port of Hong Kong': 3788531.983,\n",
       " 'Port of Budapest': 1346634.591,\n",
       " 'Port of Jawaharlal Nehru': 1256858.952,\n",
       " 'Port of Gioia Tauro': 3411474.298,\n",
       " 'Port of Nagoya': 4039903.774,\n",
       " 'Port of Busan': 1975064.067,\n",
       " 'Penang Port': 1526185.87,\n",
       " 'Port of Manzanillo': 1975064.067,\n",
       " 'Port of Rotterdam': 1705737.149,\n",
       " 'Port of Gdansk': 3052371.74,\n",
       " 'Port of Vladivostok': 498472.9915,\n",
       " 'Port of Novorossiysk': 243131.0679,\n",
       " 'Port of St. Petersburg': 245927.9741,\n",
       " 'Port of Algeciras': 1615961.509,\n",
       " 'Port of Bangkok': 1077307.673,\n",
       " 'Port of Mersin': 1256858.952,\n",
       " 'Port of Immingham': 1795512.788,\n",
       " 'Port of New York': 4708260.278,\n",
       " 'Port of Los Angeles': 3281771.629,\n",
       " 'Port of Saigon': 1077307.673}"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "glass_supply"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Set Problem Variables\n",
    "prob = LpProblem(\"Transportation\", LpMinimize)\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Transportation:\n",
       "MINIMIZE\n",
       "None\n",
       "VARIABLES"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "prob"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Set Problem Variables\n",
    "routes = [(i,j) for i in supply_points for j in demand_points]\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('Port of Vienna', 'Port of Haifa'),\n",
       " ('Port of Vienna', 'Port of King Abdul Aziz'),\n",
       " ('Port of Vienna', 'Port of Jebel Ali'),\n",
       " ('Port of Antwerp', 'Port of Haifa'),\n",
       " ('Port of Antwerp', 'Port of King Abdul Aziz'),\n",
       " ('Port of Antwerp', 'Port of Jebel Ali'),\n",
       " ('Port of Shanghai', 'Port of Haifa'),\n",
       " ('Port of Shanghai', 'Port of King Abdul Aziz'),\n",
       " ('Port of Shanghai', 'Port of Jebel Ali'),\n",
       " ('Port of Hamburg_Czeck', 'Port of Haifa'),\n",
       " ('Port of Hamburg_Czeck', 'Port of King Abdul Aziz'),\n",
       " ('Port of Hamburg_Czeck', 'Port of Jebel Ali'),\n",
       " ('Port of Marseille', 'Port of Haifa'),\n",
       " ('Port of Marseille', 'Port of King Abdul Aziz'),\n",
       " ('Port of Marseille', 'Port of Jebel Ali'),\n",
       " ('Port of Hamburg_Germany', 'Port of Haifa'),\n",
       " ('Port of Hamburg_Germany', 'Port of King Abdul Aziz'),\n",
       " ('Port of Hamburg_Germany', 'Port of Jebel Ali'),\n",
       " ('Port of Hong Kong', 'Port of Haifa'),\n",
       " ('Port of Hong Kong', 'Port of King Abdul Aziz'),\n",
       " ('Port of Hong Kong', 'Port of Jebel Ali'),\n",
       " ('Port of Budapest', 'Port of Haifa'),\n",
       " ('Port of Budapest', 'Port of King Abdul Aziz'),\n",
       " ('Port of Budapest', 'Port of Jebel Ali'),\n",
       " ('Port of Jawaharlal Nehru', 'Port of Haifa'),\n",
       " ('Port of Jawaharlal Nehru', 'Port of King Abdul Aziz'),\n",
       " ('Port of Jawaharlal Nehru', 'Port of Jebel Ali'),\n",
       " ('Port of Gioia Tauro', 'Port of Haifa'),\n",
       " ('Port of Gioia Tauro', 'Port of King Abdul Aziz'),\n",
       " ('Port of Gioia Tauro', 'Port of Jebel Ali'),\n",
       " ('Port of Nagoya', 'Port of Haifa'),\n",
       " ('Port of Nagoya', 'Port of King Abdul Aziz'),\n",
       " ('Port of Nagoya', 'Port of Jebel Ali'),\n",
       " ('Port of Busan', 'Port of Haifa'),\n",
       " ('Port of Busan', 'Port of King Abdul Aziz'),\n",
       " ('Port of Busan', 'Port of Jebel Ali'),\n",
       " ('Penang Port', 'Port of Haifa'),\n",
       " ('Penang Port', 'Port of King Abdul Aziz'),\n",
       " ('Penang Port', 'Port of Jebel Ali'),\n",
       " ('Port of Manzanillo', 'Port of Haifa'),\n",
       " ('Port of Manzanillo', 'Port of King Abdul Aziz'),\n",
       " ('Port of Manzanillo', 'Port of Jebel Ali'),\n",
       " ('Port of Rotterdam', 'Port of Haifa'),\n",
       " ('Port of Rotterdam', 'Port of King Abdul Aziz'),\n",
       " ('Port of Rotterdam', 'Port of Jebel Ali'),\n",
       " ('Port of Gdansk', 'Port of Haifa'),\n",
       " ('Port of Gdansk', 'Port of King Abdul Aziz'),\n",
       " ('Port of Gdansk', 'Port of Jebel Ali'),\n",
       " ('Port of Vladivostok', 'Port of Haifa'),\n",
       " ('Port of Vladivostok', 'Port of King Abdul Aziz'),\n",
       " ('Port of Vladivostok', 'Port of Jebel Ali'),\n",
       " ('Port of Novorossiysk', 'Port of Haifa'),\n",
       " ('Port of Novorossiysk', 'Port of King Abdul Aziz'),\n",
       " ('Port of Novorossiysk', 'Port of Jebel Ali'),\n",
       " ('Port of St. Petersburg', 'Port of Haifa'),\n",
       " ('Port of St. Petersburg', 'Port of King Abdul Aziz'),\n",
       " ('Port of St. Petersburg', 'Port of Jebel Ali'),\n",
       " ('Port of Algeciras', 'Port of Haifa'),\n",
       " ('Port of Algeciras', 'Port of King Abdul Aziz'),\n",
       " ('Port of Algeciras', 'Port of Jebel Ali'),\n",
       " ('Port of Bangkok', 'Port of Haifa'),\n",
       " ('Port of Bangkok', 'Port of King Abdul Aziz'),\n",
       " ('Port of Bangkok', 'Port of Jebel Ali'),\n",
       " ('Port of Mersin', 'Port of Haifa'),\n",
       " ('Port of Mersin', 'Port of King Abdul Aziz'),\n",
       " ('Port of Mersin', 'Port of Jebel Ali'),\n",
       " ('Port of Immingham', 'Port of Haifa'),\n",
       " ('Port of Immingham', 'Port of King Abdul Aziz'),\n",
       " ('Port of Immingham', 'Port of Jebel Ali'),\n",
       " ('Port of New York', 'Port of Haifa'),\n",
       " ('Port of New York', 'Port of King Abdul Aziz'),\n",
       " ('Port of New York', 'Port of Jebel Ali'),\n",
       " ('Port of Los Angeles', 'Port of Haifa'),\n",
       " ('Port of Los Angeles', 'Port of King Abdul Aziz'),\n",
       " ('Port of Los Angeles', 'Port of Jebel Ali'),\n",
       " ('Port of Saigon', 'Port of Haifa'),\n",
       " ('Port of Saigon', 'Port of King Abdul Aziz'),\n",
       " ('Port of Saigon', 'Port of Jebel Ali')]"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "routes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Decision Variables\n",
    "X = LpVariable.dicts(\"ShipmentAmount\",(supply_points, demand_points),0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'Port of Vienna': {'Port of Haifa': ShipmentAmount_Port_of_Vienna_Port_of_Haifa,\n",
       "  'Port of King Abdul Aziz': ShipmentAmount_Port_of_Vienna_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Vienna_Port_of_Jebel_Ali},\n",
       " 'Port of Antwerp': {'Port of Haifa': ShipmentAmount_Port_of_Antwerp_Port_of_Haifa,\n",
       "  'Port of King Abdul Aziz': ShipmentAmount_Port_of_Antwerp_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Antwerp_Port_of_Jebel_Ali},\n",
       " 'Port of Shanghai': {'Port of Haifa': ShipmentAmount_Port_of_Shanghai_Port_of_Haifa,\n",
       "  'Port of King Abdul Aziz': ShipmentAmount_Port_of_Shanghai_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali},\n",
       " 'Port of Hamburg_Czeck': {'Port of Haifa': ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Haifa,\n",
       "  'Port of King Abdul Aziz': ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Jebel_Ali},\n",
       " 'Port of Marseille': {'Port of Haifa': ShipmentAmount_Port_of_Marseille_Port_of_Haifa,\n",
       "  'Port of King Abdul Aziz': ShipmentAmount_Port_of_Marseille_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Marseille_Port_of_Jebel_Ali},\n",
       " 'Port of Hamburg_Germany': {'Port of Haifa': ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Haifa,\n",
       "  'Port of King Abdul Aziz': ShipmentAmount_Port_of_Hamburg_Germany_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Jebel_Ali},\n",
       " 'Port of Hong Kong': {'Port of Haifa': ShipmentAmount_Port_of_Hong_Kong_Port_of_Haifa,\n",
       "  'Port of King Abdul Aziz': ShipmentAmount_Port_of_Hong_Kong_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Hong_Kong_Port_of_Jebel_Ali},\n",
       " 'Port of Budapest': {'Port of Haifa': ShipmentAmount_Port_of_Budapest_Port_of_Haifa,\n",
       "  'Port of King Abdul Aziz': ShipmentAmount_Port_of_Budapest_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Budapest_Port_of_Jebel_Ali},\n",
       " 'Port of Jawaharlal Nehru': {'Port of Haifa': ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Haifa,\n",
       "  'Port of King Abdul Aziz': ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Jebel_Ali},\n",
       " 'Port of Gioia Tauro': {'Port of Haifa': ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Haifa,\n",
       "  'Port of King Abdul Aziz': ShipmentAmount_Port_of_Gioia_Tauro_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Jebel_Ali},\n",
       " 'Port of Nagoya': {'Port of Haifa': ShipmentAmount_Port_of_Nagoya_Port_of_Haifa,\n",
       "  'Port of King Abdul Aziz': ShipmentAmount_Port_of_Nagoya_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Nagoya_Port_of_Jebel_Ali},\n",
       " 'Port of Busan': {'Port of Haifa': ShipmentAmount_Port_of_Busan_Port_of_Haifa,\n",
       "  'Port of King Abdul Aziz': ShipmentAmount_Port_of_Busan_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Busan_Port_of_Jebel_Ali},\n",
       " 'Penang Port': {'Port of Haifa': ShipmentAmount_Penang_Port_Port_of_Haifa,\n",
       "  'Port of King Abdul Aziz': ShipmentAmount_Penang_Port_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Penang_Port_Port_of_Jebel_Ali},\n",
       " 'Port of Manzanillo': {'Port of Haifa': ShipmentAmount_Port_of_Manzanillo_Port_of_Haifa,\n",
       "  'Port of King Abdul Aziz': ShipmentAmount_Port_of_Manzanillo_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Manzanillo_Port_of_Jebel_Ali},\n",
       " 'Port of Rotterdam': {'Port of Haifa': ShipmentAmount_Port_of_Rotterdam_Port_of_Haifa,\n",
       "  'Port of King Abdul Aziz': ShipmentAmount_Port_of_Rotterdam_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Rotterdam_Port_of_Jebel_Ali},\n",
       " 'Port of Gdansk': {'Port of Haifa': ShipmentAmount_Port_of_Gdansk_Port_of_Haifa,\n",
       "  'Port of King Abdul Aziz': ShipmentAmount_Port_of_Gdansk_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Gdansk_Port_of_Jebel_Ali},\n",
       " 'Port of Vladivostok': {'Port of Haifa': ShipmentAmount_Port_of_Vladivostok_Port_of_Haifa,\n",
       "  'Port of King Abdul Aziz': ShipmentAmount_Port_of_Vladivostok_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Vladivostok_Port_of_Jebel_Ali},\n",
       " 'Port of Novorossiysk': {'Port of Haifa': ShipmentAmount_Port_of_Novorossiysk_Port_of_Haifa,\n",
       "  'Port of King Abdul Aziz': ShipmentAmount_Port_of_Novorossiysk_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Novorossiysk_Port_of_Jebel_Ali},\n",
       " 'Port of St. Petersburg': {'Port of Haifa': ShipmentAmount_Port_of_St._Petersburg_Port_of_Haifa,\n",
       "  'Port of King Abdul Aziz': ShipmentAmount_Port_of_St._Petersburg_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_St._Petersburg_Port_of_Jebel_Ali},\n",
       " 'Port of Algeciras': {'Port of Haifa': ShipmentAmount_Port_of_Algeciras_Port_of_Haifa,\n",
       "  'Port of King Abdul Aziz': ShipmentAmount_Port_of_Algeciras_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Algeciras_Port_of_Jebel_Ali},\n",
       " 'Port of Bangkok': {'Port of Haifa': ShipmentAmount_Port_of_Bangkok_Port_of_Haifa,\n",
       "  'Port of King Abdul Aziz': ShipmentAmount_Port_of_Bangkok_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Bangkok_Port_of_Jebel_Ali},\n",
       " 'Port of Mersin': {'Port of Haifa': ShipmentAmount_Port_of_Mersin_Port_of_Haifa,\n",
       "  'Port of King Abdul Aziz': ShipmentAmount_Port_of_Mersin_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Mersin_Port_of_Jebel_Ali},\n",
       " 'Port of Immingham': {'Port of Haifa': ShipmentAmount_Port_of_Immingham_Port_of_Haifa,\n",
       "  'Port of King Abdul Aziz': ShipmentAmount_Port_of_Immingham_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Immingham_Port_of_Jebel_Ali},\n",
       " 'Port of New York': {'Port of Haifa': ShipmentAmount_Port_of_New_York_Port_of_Haifa,\n",
       "  'Port of King Abdul Aziz': ShipmentAmount_Port_of_New_York_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_New_York_Port_of_Jebel_Ali},\n",
       " 'Port of Los Angeles': {'Port of Haifa': ShipmentAmount_Port_of_Los_Angeles_Port_of_Haifa,\n",
       "  'Port of King Abdul Aziz': ShipmentAmount_Port_of_Los_Angeles_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Los_Angeles_Port_of_Jebel_Ali},\n",
       " 'Port of Saigon': {'Port of Haifa': ShipmentAmount_Port_of_Saigon_Port_of_Haifa,\n",
       "  'Port of King Abdul Aziz': ShipmentAmount_Port_of_Saigon_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Saigon_Port_of_Jebel_Ali}}"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Objective Function\n",
    "prob += sum(X[i][j]*distance[i][j] for (i,j) in routes)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Transportation:\n",
       "MINIMIZE\n",
       "5310*ShipmentAmount_Penang_Port_Port_of_Haifa + 3601*ShipmentAmount_Penang_Port_Port_of_Jebel_Ali + 3896*ShipmentAmount_Penang_Port_Port_of_King_Abdul_Aziz + 2242*ShipmentAmount_Port_of_Algeciras_Port_of_Haifa + 5377*ShipmentAmount_Port_of_Algeciras_Port_of_Jebel_Ali + 5685*ShipmentAmount_Port_of_Algeciras_Port_of_King_Abdul_Aziz + 3804*ShipmentAmount_Port_of_Antwerp_Port_of_Haifa + 6938*ShipmentAmount_Port_of_Antwerp_Port_of_Jebel_Ali + 7247*ShipmentAmount_Port_of_Antwerp_Port_of_King_Abdul_Aziz + 6556*ShipmentAmount_Port_of_Bangkok_Port_of_Haifa + 4847*ShipmentAmount_Port_of_Bangkok_Port_of_Jebel_Ali + 5142*ShipmentAmount_Port_of_Bangkok_Port_of_King_Abdul_Aziz + 2192*ShipmentAmount_Port_of_Budapest_Port_of_Haifa + 5360*ShipmentAmount_Port_of_Budapest_Port_of_Jebel_Ali + 5669*ShipmentAmount_Port_of_Budapest_Port_of_King_Abdul_Aziz + 8852*ShipmentAmount_Port_of_Busan_Port_of_Haifa + 7143*ShipmentAmount_Port_of_Busan_Port_of_Jebel_Ali + 7438*ShipmentAmount_Port_of_Busan_Port_of_King_Abdul_Aziz + 4889*ShipmentAmount_Port_of_Gdansk_Port_of_Haifa + 8025*ShipmentAmount_Port_of_Gdansk_Port_of_Jebel_Ali + 8334*ShipmentAmount_Port_of_Gdansk_Port_of_King_Abdul_Aziz + 1230*ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Haifa + 4366*ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Jebel_Ali + 4674*ShipmentAmount_Port_of_Gioia_Tauro_Port_of_King_Abdul_Aziz + 4173*ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Haifa + 7306*ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Jebel_Ali + 7615*ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_King_Abdul_Aziz + 4173*ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Haifa + 7306*ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Jebel_Ali + 7615*ShipmentAmount_Port_of_Hamburg_Germany_Port_of_King_Abdul_Aziz + 7475*ShipmentAmount_Port_of_Hong_Kong_Port_of_Haifa + 5766*ShipmentAmount_Port_of_Hong_Kong_Port_of_Jebel_Ali + 6061*ShipmentAmount_Port_of_Hong_Kong_Port_of_King_Abdul_Aziz + 3944*ShipmentAmount_Port_of_Immingham_Port_of_Haifa + 7080*ShipmentAmount_Port_of_Immingham_Port_of_Jebel_Ali + 7388*ShipmentAmount_Port_of_Immingham_Port_of_King_Abdul_Aziz + 3510*ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Haifa + 1335*ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Jebel_Ali + 1630*ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_King_Abdul_Aziz + 11048*ShipmentAmount_Port_of_Los_Angeles_Port_of_Haifa + 11116*ShipmentAmount_Port_of_Los_Angeles_Port_of_Jebel_Ali + 11344*ShipmentAmount_Port_of_Los_Angeles_Port_of_King_Abdul_Aziz + 9673*ShipmentAmount_Port_of_Manzanillo_Port_of_Haifa + 12790*ShipmentAmount_Port_of_Manzanillo_Port_of_Jebel_Ali + 13099*ShipmentAmount_Port_of_Manzanillo_Port_of_King_Abdul_Aziz + 1946*ShipmentAmount_Port_of_Marseille_Port_of_Haifa + 5080*ShipmentAmount_Port_of_Marseille_Port_of_Jebel_Ali + 5388*ShipmentAmount_Port_of_Marseille_Port_of_King_Abdul_Aziz + 233*ShipmentAmount_Port_of_Mersin_Port_of_Haifa + 3576*ShipmentAmount_Port_of_Mersin_Port_of_Jebel_Ali + 3885*ShipmentAmount_Port_of_Mersin_Port_of_King_Abdul_Aziz + 9214*ShipmentAmount_Port_of_Nagoya_Port_of_Haifa + 7505*ShipmentAmount_Port_of_Nagoya_Port_of_Jebel_Ali + 7800*ShipmentAmount_Port_of_Nagoya_Port_of_King_Abdul_Aziz + 5756*ShipmentAmount_Port_of_New_York_Port_of_Haifa + 8918*ShipmentAmount_Port_of_New_York_Port_of_Jebel_Ali + 9222*ShipmentAmount_Port_of_New_York_Port_of_King_Abdul_Aziz + 1715*ShipmentAmount_Port_of_Novorossiysk_Port_of_Haifa + 4885*ShipmentAmount_Port_of_Novorossiysk_Port_of_Jebel_Ali + 5193*ShipmentAmount_Port_of_Novorossiysk_Port_of_King_Abdul_Aziz + 3894*ShipmentAmount_Port_of_Rotterdam_Port_of_Haifa + 7029*ShipmentAmount_Port_of_Rotterdam_Port_of_Jebel_Ali + 7338*ShipmentAmount_Port_of_Rotterdam_Port_of_King_Abdul_Aziz + 6418*ShipmentAmount_Port_of_Saigon_Port_of_Haifa + 4709*ShipmentAmount_Port_of_Saigon_Port_of_Jebel_Ali + 5004*ShipmentAmount_Port_of_Saigon_Port_of_King_Abdul_Aziz + 8336*ShipmentAmount_Port_of_Shanghai_Port_of_Haifa + 6627*ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali + 6922*ShipmentAmount_Port_of_Shanghai_Port_of_King_Abdul_Aziz + 5398*ShipmentAmount_Port_of_St._Petersburg_Port_of_Haifa + 8532*ShipmentAmount_Port_of_St._Petersburg_Port_of_Jebel_Ali + 8841*ShipmentAmount_Port_of_St._Petersburg_Port_of_King_Abdul_Aziz + 2306*ShipmentAmount_Port_of_Vienna_Port_of_Haifa + 5475*ShipmentAmount_Port_of_Vienna_Port_of_Jebel_Ali + 5783*ShipmentAmount_Port_of_Vienna_Port_of_King_Abdul_Aziz + 9435*ShipmentAmount_Port_of_Vladivostok_Port_of_Haifa + 7727*ShipmentAmount_Port_of_Vladivostok_Port_of_Jebel_Ali + 8022*ShipmentAmount_Port_of_Vladivostok_Port_of_King_Abdul_Aziz + 0\n",
       "VARIABLES\n",
       "ShipmentAmount_Penang_Port_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Penang_Port_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Penang_Port_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Antwerp_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Antwerp_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Antwerp_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Bangkok_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Bangkok_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Bangkok_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Busan_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Busan_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Busan_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Hong_Kong_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Hong_Kong_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Hong_Kong_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Mersin_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Mersin_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Mersin_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_New_York_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_New_York_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_New_York_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Saigon_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Saigon_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Saigon_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Vienna_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Vienna_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Vienna_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Port_of_King_Abdul_Aziz Continuous"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "prob"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Transportation:\n",
       "MINIMIZE\n",
       "5310*ShipmentAmount_Penang_Port_Port_of_Haifa + 3601*ShipmentAmount_Penang_Port_Port_of_Jebel_Ali + 3896*ShipmentAmount_Penang_Port_Port_of_King_Abdul_Aziz + 2242*ShipmentAmount_Port_of_Algeciras_Port_of_Haifa + 5377*ShipmentAmount_Port_of_Algeciras_Port_of_Jebel_Ali + 5685*ShipmentAmount_Port_of_Algeciras_Port_of_King_Abdul_Aziz + 3804*ShipmentAmount_Port_of_Antwerp_Port_of_Haifa + 6938*ShipmentAmount_Port_of_Antwerp_Port_of_Jebel_Ali + 7247*ShipmentAmount_Port_of_Antwerp_Port_of_King_Abdul_Aziz + 6556*ShipmentAmount_Port_of_Bangkok_Port_of_Haifa + 4847*ShipmentAmount_Port_of_Bangkok_Port_of_Jebel_Ali + 5142*ShipmentAmount_Port_of_Bangkok_Port_of_King_Abdul_Aziz + 2192*ShipmentAmount_Port_of_Budapest_Port_of_Haifa + 5360*ShipmentAmount_Port_of_Budapest_Port_of_Jebel_Ali + 5669*ShipmentAmount_Port_of_Budapest_Port_of_King_Abdul_Aziz + 8852*ShipmentAmount_Port_of_Busan_Port_of_Haifa + 7143*ShipmentAmount_Port_of_Busan_Port_of_Jebel_Ali + 7438*ShipmentAmount_Port_of_Busan_Port_of_King_Abdul_Aziz + 4889*ShipmentAmount_Port_of_Gdansk_Port_of_Haifa + 8025*ShipmentAmount_Port_of_Gdansk_Port_of_Jebel_Ali + 8334*ShipmentAmount_Port_of_Gdansk_Port_of_King_Abdul_Aziz + 1230*ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Haifa + 4366*ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Jebel_Ali + 4674*ShipmentAmount_Port_of_Gioia_Tauro_Port_of_King_Abdul_Aziz + 4173*ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Haifa + 7306*ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Jebel_Ali + 7615*ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_King_Abdul_Aziz + 4173*ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Haifa + 7306*ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Jebel_Ali + 7615*ShipmentAmount_Port_of_Hamburg_Germany_Port_of_King_Abdul_Aziz + 7475*ShipmentAmount_Port_of_Hong_Kong_Port_of_Haifa + 5766*ShipmentAmount_Port_of_Hong_Kong_Port_of_Jebel_Ali + 6061*ShipmentAmount_Port_of_Hong_Kong_Port_of_King_Abdul_Aziz + 3944*ShipmentAmount_Port_of_Immingham_Port_of_Haifa + 7080*ShipmentAmount_Port_of_Immingham_Port_of_Jebel_Ali + 7388*ShipmentAmount_Port_of_Immingham_Port_of_King_Abdul_Aziz + 3510*ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Haifa + 1335*ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Jebel_Ali + 1630*ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_King_Abdul_Aziz + 11048*ShipmentAmount_Port_of_Los_Angeles_Port_of_Haifa + 11116*ShipmentAmount_Port_of_Los_Angeles_Port_of_Jebel_Ali + 11344*ShipmentAmount_Port_of_Los_Angeles_Port_of_King_Abdul_Aziz + 9673*ShipmentAmount_Port_of_Manzanillo_Port_of_Haifa + 12790*ShipmentAmount_Port_of_Manzanillo_Port_of_Jebel_Ali + 13099*ShipmentAmount_Port_of_Manzanillo_Port_of_King_Abdul_Aziz + 1946*ShipmentAmount_Port_of_Marseille_Port_of_Haifa + 5080*ShipmentAmount_Port_of_Marseille_Port_of_Jebel_Ali + 5388*ShipmentAmount_Port_of_Marseille_Port_of_King_Abdul_Aziz + 233*ShipmentAmount_Port_of_Mersin_Port_of_Haifa + 3576*ShipmentAmount_Port_of_Mersin_Port_of_Jebel_Ali + 3885*ShipmentAmount_Port_of_Mersin_Port_of_King_Abdul_Aziz + 9214*ShipmentAmount_Port_of_Nagoya_Port_of_Haifa + 7505*ShipmentAmount_Port_of_Nagoya_Port_of_Jebel_Ali + 7800*ShipmentAmount_Port_of_Nagoya_Port_of_King_Abdul_Aziz + 5756*ShipmentAmount_Port_of_New_York_Port_of_Haifa + 8918*ShipmentAmount_Port_of_New_York_Port_of_Jebel_Ali + 9222*ShipmentAmount_Port_of_New_York_Port_of_King_Abdul_Aziz + 1715*ShipmentAmount_Port_of_Novorossiysk_Port_of_Haifa + 4885*ShipmentAmount_Port_of_Novorossiysk_Port_of_Jebel_Ali + 5193*ShipmentAmount_Port_of_Novorossiysk_Port_of_King_Abdul_Aziz + 3894*ShipmentAmount_Port_of_Rotterdam_Port_of_Haifa + 7029*ShipmentAmount_Port_of_Rotterdam_Port_of_Jebel_Ali + 7338*ShipmentAmount_Port_of_Rotterdam_Port_of_King_Abdul_Aziz + 6418*ShipmentAmount_Port_of_Saigon_Port_of_Haifa + 4709*ShipmentAmount_Port_of_Saigon_Port_of_Jebel_Ali + 5004*ShipmentAmount_Port_of_Saigon_Port_of_King_Abdul_Aziz + 8336*ShipmentAmount_Port_of_Shanghai_Port_of_Haifa + 6627*ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali + 6922*ShipmentAmount_Port_of_Shanghai_Port_of_King_Abdul_Aziz + 5398*ShipmentAmount_Port_of_St._Petersburg_Port_of_Haifa + 8532*ShipmentAmount_Port_of_St._Petersburg_Port_of_Jebel_Ali + 8841*ShipmentAmount_Port_of_St._Petersburg_Port_of_King_Abdul_Aziz + 2306*ShipmentAmount_Port_of_Vienna_Port_of_Haifa + 5475*ShipmentAmount_Port_of_Vienna_Port_of_Jebel_Ali + 5783*ShipmentAmount_Port_of_Vienna_Port_of_King_Abdul_Aziz + 9435*ShipmentAmount_Port_of_Vladivostok_Port_of_Haifa + 7727*ShipmentAmount_Port_of_Vladivostok_Port_of_Jebel_Ali + 8022*ShipmentAmount_Port_of_Vladivostok_Port_of_King_Abdul_Aziz + 0\n",
       "SUBJECT TO\n",
       "_C1: ShipmentAmount_Penang_Port_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Algeciras_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Antwerp_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Bangkok_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Budapest_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Busan_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Gdansk_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Hong_Kong_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Immingham_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Los_Angeles_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Manzanillo_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Marseille_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Mersin_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Nagoya_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_New_York_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Novorossiysk_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Rotterdam_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Saigon_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Shanghai_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_St._Petersburg_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Vienna_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Vladivostok_Port_of_Haifa >= 23750237.12\n",
       "\n",
       "_C2: ShipmentAmount_Penang_Port_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Algeciras_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Antwerp_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Bangkok_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Budapest_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Busan_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Gdansk_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Gioia_Tauro_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Hamburg_Germany_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Hong_Kong_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Immingham_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Los_Angeles_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Manzanillo_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Marseille_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Mersin_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Nagoya_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_New_York_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Novorossiysk_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Rotterdam_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Saigon_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Shanghai_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_St._Petersburg_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Vienna_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Vladivostok_Port_of_King_Abdul_Aziz >= 27384747.28\n",
       "\n",
       "_C3: ShipmentAmount_Penang_Port_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Algeciras_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Antwerp_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Bangkok_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Budapest_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Busan_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Gdansk_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Hong_Kong_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Immingham_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Los_Angeles_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Manzanillo_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Marseille_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Mersin_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Nagoya_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_New_York_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Novorossiysk_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Rotterdam_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Saigon_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_St._Petersburg_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Vienna_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Vladivostok_Port_of_Jebel_Ali >= 26000244.98\n",
       "\n",
       "VARIABLES\n",
       "ShipmentAmount_Penang_Port_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Penang_Port_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Penang_Port_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Antwerp_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Antwerp_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Antwerp_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Bangkok_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Bangkok_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Bangkok_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Busan_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Busan_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Busan_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Hong_Kong_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Hong_Kong_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Hong_Kong_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Mersin_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Mersin_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Mersin_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_New_York_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_New_York_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_New_York_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Saigon_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Saigon_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Saigon_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Vienna_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Vienna_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Vienna_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Port_of_King_Abdul_Aziz Continuous"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Constraints\n",
    "for j in demand_points:\n",
    "    prob += sum(X[i][j] for i in supply_points) >= glass_demand[j]\n",
    "    \n",
    "prob"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Transportation:\n",
       "MINIMIZE\n",
       "5310*ShipmentAmount_Penang_Port_Port_of_Haifa + 3601*ShipmentAmount_Penang_Port_Port_of_Jebel_Ali + 3896*ShipmentAmount_Penang_Port_Port_of_King_Abdul_Aziz + 2242*ShipmentAmount_Port_of_Algeciras_Port_of_Haifa + 5377*ShipmentAmount_Port_of_Algeciras_Port_of_Jebel_Ali + 5685*ShipmentAmount_Port_of_Algeciras_Port_of_King_Abdul_Aziz + 3804*ShipmentAmount_Port_of_Antwerp_Port_of_Haifa + 6938*ShipmentAmount_Port_of_Antwerp_Port_of_Jebel_Ali + 7247*ShipmentAmount_Port_of_Antwerp_Port_of_King_Abdul_Aziz + 6556*ShipmentAmount_Port_of_Bangkok_Port_of_Haifa + 4847*ShipmentAmount_Port_of_Bangkok_Port_of_Jebel_Ali + 5142*ShipmentAmount_Port_of_Bangkok_Port_of_King_Abdul_Aziz + 2192*ShipmentAmount_Port_of_Budapest_Port_of_Haifa + 5360*ShipmentAmount_Port_of_Budapest_Port_of_Jebel_Ali + 5669*ShipmentAmount_Port_of_Budapest_Port_of_King_Abdul_Aziz + 8852*ShipmentAmount_Port_of_Busan_Port_of_Haifa + 7143*ShipmentAmount_Port_of_Busan_Port_of_Jebel_Ali + 7438*ShipmentAmount_Port_of_Busan_Port_of_King_Abdul_Aziz + 4889*ShipmentAmount_Port_of_Gdansk_Port_of_Haifa + 8025*ShipmentAmount_Port_of_Gdansk_Port_of_Jebel_Ali + 8334*ShipmentAmount_Port_of_Gdansk_Port_of_King_Abdul_Aziz + 1230*ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Haifa + 4366*ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Jebel_Ali + 4674*ShipmentAmount_Port_of_Gioia_Tauro_Port_of_King_Abdul_Aziz + 4173*ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Haifa + 7306*ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Jebel_Ali + 7615*ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_King_Abdul_Aziz + 4173*ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Haifa + 7306*ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Jebel_Ali + 7615*ShipmentAmount_Port_of_Hamburg_Germany_Port_of_King_Abdul_Aziz + 7475*ShipmentAmount_Port_of_Hong_Kong_Port_of_Haifa + 5766*ShipmentAmount_Port_of_Hong_Kong_Port_of_Jebel_Ali + 6061*ShipmentAmount_Port_of_Hong_Kong_Port_of_King_Abdul_Aziz + 3944*ShipmentAmount_Port_of_Immingham_Port_of_Haifa + 7080*ShipmentAmount_Port_of_Immingham_Port_of_Jebel_Ali + 7388*ShipmentAmount_Port_of_Immingham_Port_of_King_Abdul_Aziz + 3510*ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Haifa + 1335*ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Jebel_Ali + 1630*ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_King_Abdul_Aziz + 11048*ShipmentAmount_Port_of_Los_Angeles_Port_of_Haifa + 11116*ShipmentAmount_Port_of_Los_Angeles_Port_of_Jebel_Ali + 11344*ShipmentAmount_Port_of_Los_Angeles_Port_of_King_Abdul_Aziz + 9673*ShipmentAmount_Port_of_Manzanillo_Port_of_Haifa + 12790*ShipmentAmount_Port_of_Manzanillo_Port_of_Jebel_Ali + 13099*ShipmentAmount_Port_of_Manzanillo_Port_of_King_Abdul_Aziz + 1946*ShipmentAmount_Port_of_Marseille_Port_of_Haifa + 5080*ShipmentAmount_Port_of_Marseille_Port_of_Jebel_Ali + 5388*ShipmentAmount_Port_of_Marseille_Port_of_King_Abdul_Aziz + 233*ShipmentAmount_Port_of_Mersin_Port_of_Haifa + 3576*ShipmentAmount_Port_of_Mersin_Port_of_Jebel_Ali + 3885*ShipmentAmount_Port_of_Mersin_Port_of_King_Abdul_Aziz + 9214*ShipmentAmount_Port_of_Nagoya_Port_of_Haifa + 7505*ShipmentAmount_Port_of_Nagoya_Port_of_Jebel_Ali + 7800*ShipmentAmount_Port_of_Nagoya_Port_of_King_Abdul_Aziz + 5756*ShipmentAmount_Port_of_New_York_Port_of_Haifa + 8918*ShipmentAmount_Port_of_New_York_Port_of_Jebel_Ali + 9222*ShipmentAmount_Port_of_New_York_Port_of_King_Abdul_Aziz + 1715*ShipmentAmount_Port_of_Novorossiysk_Port_of_Haifa + 4885*ShipmentAmount_Port_of_Novorossiysk_Port_of_Jebel_Ali + 5193*ShipmentAmount_Port_of_Novorossiysk_Port_of_King_Abdul_Aziz + 3894*ShipmentAmount_Port_of_Rotterdam_Port_of_Haifa + 7029*ShipmentAmount_Port_of_Rotterdam_Port_of_Jebel_Ali + 7338*ShipmentAmount_Port_of_Rotterdam_Port_of_King_Abdul_Aziz + 6418*ShipmentAmount_Port_of_Saigon_Port_of_Haifa + 4709*ShipmentAmount_Port_of_Saigon_Port_of_Jebel_Ali + 5004*ShipmentAmount_Port_of_Saigon_Port_of_King_Abdul_Aziz + 8336*ShipmentAmount_Port_of_Shanghai_Port_of_Haifa + 6627*ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali + 6922*ShipmentAmount_Port_of_Shanghai_Port_of_King_Abdul_Aziz + 5398*ShipmentAmount_Port_of_St._Petersburg_Port_of_Haifa + 8532*ShipmentAmount_Port_of_St._Petersburg_Port_of_Jebel_Ali + 8841*ShipmentAmount_Port_of_St._Petersburg_Port_of_King_Abdul_Aziz + 2306*ShipmentAmount_Port_of_Vienna_Port_of_Haifa + 5475*ShipmentAmount_Port_of_Vienna_Port_of_Jebel_Ali + 5783*ShipmentAmount_Port_of_Vienna_Port_of_King_Abdul_Aziz + 9435*ShipmentAmount_Port_of_Vladivostok_Port_of_Haifa + 7727*ShipmentAmount_Port_of_Vladivostok_Port_of_Jebel_Ali + 8022*ShipmentAmount_Port_of_Vladivostok_Port_of_King_Abdul_Aziz + 0\n",
       "SUBJECT TO\n",
       "_C1: ShipmentAmount_Penang_Port_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Algeciras_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Antwerp_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Bangkok_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Budapest_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Busan_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Gdansk_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Hong_Kong_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Immingham_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Los_Angeles_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Manzanillo_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Marseille_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Mersin_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Nagoya_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_New_York_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Novorossiysk_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Rotterdam_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Saigon_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Shanghai_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_St._Petersburg_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Vienna_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Vladivostok_Port_of_Haifa >= 23750237.12\n",
       "\n",
       "_C2: ShipmentAmount_Penang_Port_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Algeciras_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Antwerp_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Bangkok_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Budapest_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Busan_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Gdansk_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Gioia_Tauro_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Hamburg_Germany_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Hong_Kong_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Immingham_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Los_Angeles_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Manzanillo_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Marseille_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Mersin_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Nagoya_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_New_York_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Novorossiysk_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Rotterdam_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Saigon_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Shanghai_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_St._Petersburg_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Vienna_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Vladivostok_Port_of_King_Abdul_Aziz >= 27384747.28\n",
       "\n",
       "_C3: ShipmentAmount_Penang_Port_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Algeciras_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Antwerp_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Bangkok_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Budapest_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Busan_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Gdansk_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Hong_Kong_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Immingham_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Los_Angeles_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Manzanillo_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Marseille_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Mersin_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Nagoya_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_New_York_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Novorossiysk_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Rotterdam_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Saigon_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_St._Petersburg_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Vienna_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Vladivostok_Port_of_Jebel_Ali >= 26000244.98\n",
       "\n",
       "_C4: ShipmentAmount_Port_of_Vienna_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Vienna_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Vienna_Port_of_King_Abdul_Aziz = 897756.3973\n",
       "\n",
       "_C5: ShipmentAmount_Port_of_Antwerp_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Antwerp_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Antwerp_Port_of_King_Abdul_Aziz = 3142147.379\n",
       "\n",
       "_C6: ShipmentAmount_Port_of_Shanghai_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Shanghai_Port_of_King_Abdul_Aziz = 16877820.21\n",
       "\n",
       "_C7: ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_King_Abdul_Aziz = 2513717.904\n",
       "\n",
       "_C8: ShipmentAmount_Port_of_Marseille_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Marseille_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Marseille_Port_of_King_Abdul_Aziz = 4039903.774\n",
       "\n",
       "_C9: ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Hamburg_Germany_Port_of_King_Abdul_Aziz\n",
       " = 9785544.696\n",
       "\n",
       "_C10: ShipmentAmount_Port_of_Hong_Kong_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Hong_Kong_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Hong_Kong_Port_of_King_Abdul_Aziz = 3788531.983\n",
       "\n",
       "_C11: ShipmentAmount_Port_of_Budapest_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Budapest_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Budapest_Port_of_King_Abdul_Aziz = 1346634.591\n",
       "\n",
       "_C12: ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_King_Abdul_Aziz\n",
       " = 1256858.952\n",
       "\n",
       "_C13: ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Gioia_Tauro_Port_of_King_Abdul_Aziz = 3411474.298\n",
       "\n",
       "_C14: ShipmentAmount_Port_of_Nagoya_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Nagoya_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Nagoya_Port_of_King_Abdul_Aziz = 4039903.774\n",
       "\n",
       "_C15: ShipmentAmount_Port_of_Busan_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Busan_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Busan_Port_of_King_Abdul_Aziz = 1975064.067\n",
       "\n",
       "_C16: ShipmentAmount_Penang_Port_Port_of_Haifa\n",
       " + ShipmentAmount_Penang_Port_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Penang_Port_Port_of_King_Abdul_Aziz = 1526185.87\n",
       "\n",
       "_C17: ShipmentAmount_Port_of_Manzanillo_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Manzanillo_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Manzanillo_Port_of_King_Abdul_Aziz = 1975064.067\n",
       "\n",
       "_C18: ShipmentAmount_Port_of_Rotterdam_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Rotterdam_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Rotterdam_Port_of_King_Abdul_Aziz = 1705737.149\n",
       "\n",
       "_C19: ShipmentAmount_Port_of_Gdansk_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Gdansk_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Gdansk_Port_of_King_Abdul_Aziz = 3052371.74\n",
       "\n",
       "_C20: ShipmentAmount_Port_of_Vladivostok_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Vladivostok_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Vladivostok_Port_of_King_Abdul_Aziz = 498472.9915\n",
       "\n",
       "_C21: ShipmentAmount_Port_of_Novorossiysk_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Novorossiysk_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Novorossiysk_Port_of_King_Abdul_Aziz = 243131.0679\n",
       "\n",
       "_C22: ShipmentAmount_Port_of_St._Petersburg_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_St._Petersburg_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_St._Petersburg_Port_of_King_Abdul_Aziz = 245927.9741\n",
       "\n",
       "_C23: ShipmentAmount_Port_of_Algeciras_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Algeciras_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Algeciras_Port_of_King_Abdul_Aziz = 1615961.509\n",
       "\n",
       "_C24: ShipmentAmount_Port_of_Bangkok_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Bangkok_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Bangkok_Port_of_King_Abdul_Aziz = 1077307.673\n",
       "\n",
       "_C25: ShipmentAmount_Port_of_Mersin_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Mersin_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Mersin_Port_of_King_Abdul_Aziz = 1256858.952\n",
       "\n",
       "_C26: ShipmentAmount_Port_of_Immingham_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Immingham_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Immingham_Port_of_King_Abdul_Aziz = 1795512.788\n",
       "\n",
       "_C27: ShipmentAmount_Port_of_New_York_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_New_York_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_New_York_Port_of_King_Abdul_Aziz = 4708260.278\n",
       "\n",
       "_C28: ShipmentAmount_Port_of_Los_Angeles_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Los_Angeles_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Los_Angeles_Port_of_King_Abdul_Aziz = 3281771.629\n",
       "\n",
       "_C29: ShipmentAmount_Port_of_Saigon_Port_of_Haifa\n",
       " + ShipmentAmount_Port_of_Saigon_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Saigon_Port_of_King_Abdul_Aziz = 1077307.673\n",
       "\n",
       "VARIABLES\n",
       "ShipmentAmount_Penang_Port_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Penang_Port_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Penang_Port_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Antwerp_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Antwerp_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Antwerp_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Bangkok_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Bangkok_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Bangkok_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Busan_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Busan_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Busan_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Hong_Kong_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Hong_Kong_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Hong_Kong_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Mersin_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Mersin_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Mersin_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_New_York_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_New_York_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_New_York_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Saigon_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Saigon_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Saigon_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Vienna_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Vienna_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Vienna_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Port_of_Haifa Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Port_of_King_Abdul_Aziz Continuous"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Constraints\n",
    "for i in supply_points:\n",
    "    prob += sum(X[i][j] for j in demand_points) == glass_supply[i]\n",
    "prob"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Status: Optimal\n",
      "ShipmentAmount_Penang_Port_Port_of_King_Abdul_Aziz = 1526185.9\n",
      "ShipmentAmount_Port_of_Algeciras_Port_of_Haifa = 1615961.5\n",
      "ShipmentAmount_Port_of_Antwerp_Port_of_Haifa = 3142147.4\n",
      "ShipmentAmount_Port_of_Bangkok_Port_of_King_Abdul_Aziz = 1077307.7\n",
      "ShipmentAmount_Port_of_Budapest_Port_of_Haifa = 1346634.6\n",
      "ShipmentAmount_Port_of_Busan_Port_of_Jebel_Ali = 1975064.1\n",
      "ShipmentAmount_Port_of_Gdansk_Port_of_Haifa = 3052371.7\n",
      "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Haifa = 3411474.3\n",
      "ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Jebel_Ali = 2513717.9\n",
      "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Jebel_Ali = 9785544.7\n",
      "ShipmentAmount_Port_of_Hong_Kong_Port_of_King_Abdul_Aziz = 3788532.0\n",
      "ShipmentAmount_Port_of_Immingham_Port_of_Haifa = 1795512.8\n",
      "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_King_Abdul_Aziz = 1256859.0\n",
      "ShipmentAmount_Port_of_Los_Angeles_Port_of_King_Abdul_Aziz = 3281771.6\n",
      "ShipmentAmount_Port_of_Manzanillo_Port_of_Jebel_Ali = 1975064.1\n",
      "ShipmentAmount_Port_of_Marseille_Port_of_Haifa = 328463.0\n",
      "ShipmentAmount_Port_of_Marseille_Port_of_Jebel_Ali = 3711440.8\n",
      "ShipmentAmount_Port_of_Mersin_Port_of_Haifa = 1256859.0\n",
      "ShipmentAmount_Port_of_Nagoya_Port_of_Jebel_Ali = 4039903.8\n",
      "ShipmentAmount_Port_of_New_York_Port_of_Haifa = 4708260.3\n",
      "ShipmentAmount_Port_of_Novorossiysk_Port_of_Haifa = 243131.07\n",
      "ShipmentAmount_Port_of_Rotterdam_Port_of_Haifa = 1705737.1\n",
      "ShipmentAmount_Port_of_Saigon_Port_of_King_Abdul_Aziz = 1077307.7\n",
      "ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali = 1501036.7\n",
      "ShipmentAmount_Port_of_Shanghai_Port_of_King_Abdul_Aziz = 15376783.0\n",
      "ShipmentAmount_Port_of_St._Petersburg_Port_of_Haifa = 245927.97\n",
      "ShipmentAmount_Port_of_Vienna_Port_of_Haifa = 897756.4\n",
      "ShipmentAmount_Port_of_Vladivostok_Port_of_Jebel_Ali = 498472.99\n",
      "Total kilogram_miles = 460971736791.54004\n"
     ]
    }
   ],
   "source": [
    "prob.solve()\n",
    "\n",
    "print(\"Status:\", LpStatus[prob.status])\n",
    "\n",
    "for v in prob.variables():\n",
    "    if v.varValue > 0:\n",
    "        print(v.name, \"=\", v.varValue)\n",
    "\n",
    "print(\"Total kilogram_miles =\", value(prob.objective))\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
